ひとりNavigation API Advent Calendar 02日目
https://gyazo.com/1f595041648bee6e0f70b9db63b77278
@domenic: OMG, it's happening: app history ( https://t.co/BYPlCy0Rp1 ) controlling the loading spinner and stop button. Browser loading spinner support for your single-page app navigations! Try it out for yourself in latest Chrome Canary! Huge kudos to Nate Chapin for the implementation!!
https://pbs.twimg.com/ext_tw_video_thumb/1471603643510145029/pu/img/k_vp8PNwUcIwYYEw.jpg
SPAだけどMPAみたいにページ遷移時にローディングスピナーを出せるぜ!っていうデモ 最初これのなにがいいのかマジで分かりませんでした(すみません)
WICGのexplainerに書いてそうなので見てみましょう せっかくなので最初のやつを参照してみる
これがホントの初期案
Application Developers face a range of challenges when performing client-side updates to dynamic web apps including (but not limited to):
Lack of clarity on when to rely on base URL, query parameters, or hash parameters to represent "persistent" state
Difficulty in serializing & sharing "UI state" separate from "application state"
Complexity in capturing browser-initiated page unloading for client-side routers
Tricky coordination problems between multiple page components which may each want to persist transient UI state but remain largely unaware of each other
Difficulty in understanding one's location in, and predicting effects of chagnes to, the HTML5 History API stack due to potentially co-mingled origins
アプリケーション開発者は、動的なウェブアプリケーションのクライアントサイドを更新する際に、以下を含む(ただしこれらに限定されない)さまざまな課題に直面します。 「永続的な」状態を表現するために、ベースURL、クエリパラメータ、またはハッシュパラメータのどれに頼るべきかの判断が難しい 「アプリケーションの状態」とは別に「UIの状態」をシリアライズして共有することが難しい
クライアントサイドのルーターにおいて、ブラウザが開始するページのアンロードを捕捉するのが複雑である 複数のページコンポーネント間で、調整が難しい問題が発生する。それぞれのコンポーネントは、一時的なUIの状態を保持したいかもしれないが、互いをほとんど認識していない可能性がある
HTML5 History APIスタックにおける自身の位置を理解したり、変更の影響を予測したりすることが難しい。これは、起点(オリジン)が混在している可能性があるためである ところでなぜ理解の浅いyamanoku.iconがこのAPIに注目しているの? でもログイン必要なユーザーが触れるってSSRでやるのがベターじゃないですか しかしSSRってすんなりとした理解に落とし込むには技能が必要ですよね なのでそこに歩み寄ってくれるAPIなのでマシになるかなという期待があります 2023年にまとめたけどここから大きく変わってないと思う SPAというものが敬遠されていたがここが改善されると可能性は広がる 今年ついに対象になった
選ばれつつも2025年の進捗がなかなか現れず(Chromium以外テスト通ってない状態)ここ1ヶ月くらいでようやく圧倒的進捗を出していた 上記は今のところ業務では使ってないがNuxtも関係あるだろうなと思ってる
ルーター処理がWeb標準が担えるとルーター側は実装に考慮しなくてよい 注目してる、相当しんどかったんだろうかな…という気持ちはある
来年に向けての使用していくきっかけの布石としてこのアドベントカレンダーが活用していくためのきっかけになればと思って書き始めています